웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > etc

ngChange 디렉티브가 동작 안하는 경우  해결방법은?

Last Modified : 2017-04-04 / Created : 2017-04-03
2,318
View Count
ng-change 디렉티브를 사용하여 이벤트를 발생시키려 하였으나 동작이 되지 않는 경우가 있을 수 있습니다. 이 경우 어떻게해야할까요?


ng-change가 동작하지 않는 원인부터 확인이 필요합니다. 만약 아래의 경우라면 정상 동작하지 않을 수 있습니다.

1. 해당하는 엘리먼트가 input 등의 입력폼이 아닌 경우
2. 변경되는 값이 엘리먼트 자체의 value 값이 아닌 경우
3. 써드파티에 의하여 값을 변경 시키는 경우
4. 설정한 모델값의 변경이 아닌 경우
5. 엘리먼트 값이 컴파일되지 못할 경우(서버 렌더링 등)


이와같은 문제가 발생할 경우 해결 가능한 방법으로 아래와 같이 처리할 수 있습니다.

1. 이벤트를 onchange등의 자바스크립트 이벤트로 바꾸어 사용하는 방법

2. 사용될 모델에 $watch를 사용하여 실행시키는 방법

$scope.$watch("모델명", function() {
  // code here
​​​​​​​});
​​​​​​​

원인 파악이 잘 안되는 경우 가장 간단하게 $watch를 사용하여 해결하는 방법이 가장 빠르게 해결할 수 있는 방법입니다.
코드 스니펫 widget

Previous

웹워커(Web Worker) 사용 및  사용하기 좋은 부분은?

Previous

자바스크립트에서 숫자를 시간단위(시,분,초)로 변경하는 방법은?